package com.smedi.ismedi.inmail.core.application.command;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

import static com.smedi.ismedi.inmail.core.infrastructure.constant.ConstantField.DASH;

/**
 * 通知公告新增/编辑命令
 *
 * @author jiangqinxuan
 * &#064;date  2021/07/27
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class ProcessTaskCompleteCommand {

    /**
     * 业务key
     */
    private String businessKey;

    /**
     * 流程定义key
     */
    private String processDefinitionKey;

    /**
     * 任务定义key
     */
    private String taskDefinitionKey;

    /**
     * 业务编码
     */
    private String businessCode;

    /**
     * 业务类型
     */
    private String businessType;

    /**
     * 下一节点指定人
     */
    private String nextAssignee;

    /**
     * 评论
     */
    private String comment;


    /**
     * 文件key
     */
    private List<String> fileKeys;

    /**
     * 参数
     */
    private Map<String, Object> variables;

    public String getBusinessKey() {
        return this.processDefinitionKey + DASH + this.businessType + DASH + this.businessCode;
    }
}